﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading.Tasks;
using EasyClassWEBAPI.EntityClass;
using Newtonsoft.Json;

namespace EasyClassWEBAPI.Utils
{
    /// <summary>
    /// TypeToSting Function：将各种数据格式序列化成字符串存储以及反序列化
    /// <---------------------------------------------------------------------------------->
    /// User与StudyGroup是多对多的关系，但是由于创建数据库的时候只建立一对多的关系
    /// 采用的策略是利用序列化的知识将每一个StudyGroup的成员列表序列化成一个字符串存储在数据库中
    /// 在需要取用的时候进行反序列化的操作
    /// <---------------------------------------------------------------------------------->
    /// </summary>
    public class TypeToString
    {
        //将List序列化成String
        public static string ListToString(List<string> users)
        {
            return JsonConvert.SerializeObject(users);
        }
        //将string反序列化成List
        public static List<string> StringToList(string UserString)
        {
            return JsonConvert.DeserializeObject<List<string>>(UserString);
        }
        //将Post序列化成String
        public static string PostToString(Post post)
        {
            return JsonConvert.SerializeObject(post);
        }
        //将string反序列化成Post
        public static Post StringToPost(string PostString)
        {
            return JsonConvert.DeserializeObject<Post>(PostString);
        }
    }
}
